<?php
/**
 * TestGuest Version1.0
 * ================================================
 * Copy 2017-2018 zxj
 * Web: http://www.zhaoxiaojie.club
 * ================================================
 * Author: Zxj
 * Date: 17/8/10
 * Time: 上午10:52
 * 封装的函数
 *
 */

/**
 * _alert_back()表示JS弹窗
 * @access public
 * @param $_info
 * @return void 回跳函数,并返回提示信息
 */
function _alert_back($info){

    echo "<script type='text/javascript'>alert('".$info."');history.back();</script>";
    exit();

}

/**
 *
 *过滤函数
 *
 */
function _guo_lv($str){

    //去除空格,换行等字符
    $str = trim($str);
    //htmlspecialchars()函数把特殊字符转换为 HTML 实体。这意味着 < 和 > 之类的 HTML 字符会被替换为 &lt; 和 &gt; 。这样可防止攻击者通过在表单中注入 HTML 或 JavaScript 代码（跨站点脚本攻击）对代码进行利用。
    $str = htmlspecialchars($str);
    //addslashes()函数增加反斜杠\,防止mysql注入
    $str = addslashes($str);
    return $str;

}

/*
  * 使用getTree实现无限级分类功能
  * @param1 array $list，要遍历的二维数组
  * @param2 int $pid，要获取分类的类别，默认为0，获取主类别
  * @param3 int $level，分类的级别，主类别就为0，一级类别就为1，二级类别就2
  * @return array $data，返回格式化后的二维数组
  */
function getTree($list, $pid=0, $level=0) {
    //定义一个静态变量保存格式化后的数据
    static $data = array();
    //使用foreach对$list进行遍历操作
    foreach($list as $row) {
        //获取$list数据中所有pid=0的数据
        if($row['pid'] == $pid) {
            $row['level'] = $level;
            //在$data中存储第一个pid=0的数据（如PHP）
            $data[] = $row;
            //使用递归再次调用getTree遍历当前这个元素的所有子类别
            getTree($list, $row['id'], $level+1);
        }
    }
    //返回格式化后的数据
    return $data;
}

/*
//第一次遍历时，把php（id为1，pid为0）这个元素遍历出来
//进入递归函数，判断有没有哪个元素的pid与PHP的id相等，有则存储在$data中，得到资源共享
//再次进入递归函数，判断有没有哪个元素的pid与资源共享的id相等，有则继续放入$data中，没有则返回递归，因为上一次递归只遍历了资源共享还有交流天地没有遍历
$data = array();
$data[0] = array('id'=>1,'title'=>'PHP');
$data[1] = array('id'=>2,'title'=>'IOS');
array(
    array('id'=>1,'title'=>'PHP'),
    $data[1] = array('id'=>2,'title'=>'IOS')
);
*/









?>